In [8]:
#%% Import modules
import os
import sys
import numpy as np
import cv2
import matplotlib.pyplot as plt

print("NumPy version: ", np.__version__)
print("OpenCV version: ", cv2.__version__)
print("Current working directory: ", os.getcwd())
print("Python interpreter path: ", sys.executable)

folder = "/Users/tiago/Dropbox/pro/src/cvi/dip/db"
%matplotlib inline

plt.rcParams['figure.figsize'] = (18, 9)
plt.rcParams['image.interpolation'] = 'nearest'
plt.rcParams['image.cmap'] = 'gray'
NumPy version:  1.15.4
OpenCV version:  3.4.2
Current working directory:  /Users/tiago/Dropbox/pro/src/cvi/dip/src
Python interpreter path:  /Users/tiago/anaconda3/envs/dl/bin/python
In [9]:
#%% Read a grayscale image
img = cv2.imread(os.path.join(folder, "baboon.png"), cv2.IMREAD_GRAYSCALE)
if img.all() == None:
    print("Image not found")

plt.imshow(img)
plt.show()
# cv2.namedWindow("img", cv2.WINDOW_KEEPRATIO)
# cv2.imshow("img", img)
# #cv2.waitKey(0)
# while True:
#     if 0xFF & cv2.waitKey(1) == ord('q'):
#         break
# cv2.destroyAllWindows()
In [10]:
#%% Read a color image
img = cv2.imread(os.path.join(folder, "baboon.png"), cv2.IMREAD_COLOR)
if img.all() == None:
    print("Image not found")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
# cv2.namedWindow("img", cv2.WINDOW_KEEPRATIO)
# cv2.imshow("img", img)
# while True:
#     if 0xFF & cv2.waitKey(1) == ord('q'):
#         break
# cv2.destroyAllWindows()
In [11]:
#%%
bgr = cv2.imread(os.path.join(folder, "baboon.png"), 
                 cv2.IMREAD_COLOR)
if bgr.all() == None:
    print("Image not found")

rgb = cv2.cvtColor(bgr, cv2.COLOR_BGR2RGB)
plt.imshow(rgb)
plt.show()
In [12]:
#%% Splitting RGB channels
bgr = cv2.imread(os.path.join(folder, "baboon.png"), 
                 cv2.IMREAD_COLOR)

rgb = cv2.cvtColor(bgr, cv2.COLOR_BGR2RGB)
rgb_lst = cv2.split(rgb)

plt.figure(1, figsize=(18,9)), plt.clf
plt.subplot(232), plt.imshow(rgb), plt.title('RGB')
plt.subplot(234), plt.imshow(rgb_lst[0], cmap='gray'), plt.title('R')
plt.subplot(235), plt.imshow(rgb_lst[1], cmap='gray'), plt.title('G')
plt.subplot(236), plt.imshow(rgb_lst[2], cmap='gray'), plt.title('B')
plt.show()
In [13]:
#%% Using a function handle
bgr2rgb = lambda x : cv2.cvtColor(x, cv2.COLOR_BGR2RGB)
bgr = cv2.imread(os.path.join(folder, "baboon.png"), 
                 cv2.IMREAD_COLOR)
plt.figure(2)
plt.imshow(bgr2rgb(bgr))
plt.show()
In [14]:
#%% Splitting RGB channels
bgr = cv2.imread(os.path.join(folder, "baboon.png"), 
                 cv2.IMREAD_COLOR)
rgb = cv2.cvtColor(bgr, cv2.COLOR_BGR2RGB)
r, g, b = cv2.split(rgb)

plt.figure(1), plt.clf
plt.subplot(232), plt.imshow(rgb), plt.title('RGB')
plt.subplot(234), plt.imshow(r, cmap='gray'), plt.title('R')
plt.subplot(235), plt.imshow(g, cmap='gray'), plt.title('G')
plt.subplot(236), plt.imshow(b, cmap='gray'), plt.title('B')
plt.show()